1. Technical Field
The present invention is directed to data processing systems. More specifically, the present invention is directed to storage subsystems and a method, apparatus, and computer program product for using an array of high performance hard disk drives included in a large storage array to reduce usage of an array of lower performance and lower cost storage drives included in the same storage array.
2. Description of Related Art
Storage drives, such as ATA or SATA type hard disk drives, designed for use in personal computers (PCs) are beginning to be used more frequently in server type environments. Server environments require high performance storage drives, such as server class SCSI or SAS type drives, which are high duty cycle drives that support very frequent accessing rates and read/write usage. These server environment drives are capable of supporting many users simultaneously since they are designed to be accessed very frequently. These server drives are more expensive than PC drives.
Along with the lower cost of PC drives comes lower performance and reliability as compared to the server drives. The ATA or SATA drives are not designed for the continuous high I/O per second workload demanded in a server environment. Typically, ATA or SATA disk drive reliability specifications are based on the drive being powered on only eight hours per day, five days a week and having a 20% duty cycle. A 20% duty cycle means that the drive is seeking, reading, or writing only 20% of the time that it is powered on.
For the server class of drives such as the SAS drives, it is assumed that the drives will be powered on 24 hours per day, seven days a week with a duty cycle that can approach 100% during peak business hours.
Because the lower performance SATA drives are much less expensive than the server class of SAS drives, the SATA drives are beginning to be implemented more often in server environments. One solution to the performance issue described above when a lower performance drive is implemented in an environment that requires high performance has been to limit the number of I/O operations, i.e. accesses, to the lower performance drives. While this approach may increase the reliability of the lower performance drive in the high performance environment, it reduces the performance of the overall storage subsystem that includes the drives.
Therefore, a need exists for a method, apparatus, and computer program product in a high performance server environment for using an array of high performance storage drives included in a storage array to reduce accessing, i.e. usage, of an array of lower performance drives that are also included in the storage array.